package martin.tpfinal.common.data;

import javax.sound.sampled.AudioFormat;

public class MyAudioFormat {

	//Indica si los datos del archivo de audio estan guardados en big-endian
	private boolean bigEndian; 
	
	//el numero de canales de audio (1 mono, 2 estereo)
	private int channels;

	//Tecnica de codificacion
	private AudioFormat.Encoding encoding;
	
    //Numero de frames guardados por seg, por sonido, en este formato
	private float frameRate;
	
	//el numero de bytes en cada frame de un sonido que tiene el formato actual
    private int frameSize; 
    
    //numero de muestras guardades por segundo, por sonido, en este formato
    private float sampleRate; 
    
    //numero de bits en cada muestra de sonido que tiene este formato
    private int sampleSizeInBits; 

	
	public MyAudioFormat(){
//		PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian
//		interface TargetDataLine supporting format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian

//		this.bigEndian=true; 
//		this.channels=1;
//		this.encoding=AudioFormat.Encoding.PCM_SIGNED;
//		this.frameRate=16000f;
//		this.sampleSizeInBits=16; 
//		this.frameSize=(this.sampleSizeInBits/8)*channels; 
//		this.sampleRate=16000f; 

		this.bigEndian=true; 
		this.channels=1;
		this.encoding=AudioFormat.Encoding.PCM_SIGNED;
		this.frameRate=11025f;
		this.sampleSizeInBits=8; 
		this.frameSize=(this.sampleSizeInBits/8)*channels; 
		this.sampleRate=11025f; 


	}

	public AudioFormat getFormat() {

		return new AudioFormat( encoding, sampleRate, sampleSizeInBits, channels, frameSize, frameRate, bigEndian);
	}

}
